package com.zq.ssmdemo.controller;

import com.zq.ssmdemo.mapper.EmployeesMapper;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.ServletContext;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;

/**
 * @Author 张乔
 * @Date 2024/6/10 21:48
 */
@RestController
@CrossOrigin
public class FileController {


    @PostMapping("/file/fileUpload")
    public String upload(MultipartFile file) {
        // 定义文件保存的目录
        String directory = "D://ssm/images/";
        // 创建目标文件
        Path filePath = Paths.get(directory, file.getOriginalFilename());

        try {
            // 确保目录存在
            File dir = new File(directory);
            if (!dir.exists()) {
                dir.mkdirs();
            }
            // 读取文件内容
            byte[] bytes = file.getBytes();

            // 转换为Base64编码的字符串
            String encodedString = Base64.getEncoder().encodeToString(bytes);

            // 创建data: URL（假设这是JPEG图片）
//            String dataUrl = "data:image/jpeg;base64," + encodedString;
            String dataUrl =  encodedString;

            // 将上传的文件保存到目标文件
            file.transferTo(filePath.toFile());

            System.err.println("上传文件名称"+filePath.toString());
            // 返回文件的绝对路径
            return dataUrl;

        } catch (IOException e) {
            e.printStackTrace();
            return "文件上传失败";
        }

    }



}
